﻿<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>我的地址-用户中心</title>
    <meta name="keywords" content="DeathGhost"/>
    <meta name="description" content="DeathGhost"/>
    <meta name="author" content="DeathGhost,deathghost@deathghost.cn">
    <link rel="icon" href="../images/icon/favicon.ico" type="image/x-icon">
    <link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="../css/style.css"/>
    <script src="../js/html5.js"></script>
    <script src="../js/jquery.js"></script>
    <script type="text/javascript" src="../js/jquery.cookie.js"></script>
    <script src="../js/vue.min.js"></script>
    <script>
        $(document).ready(function () {
            $("nav .indexAsideNav").hide();
            $("nav .category").mouseover(function () {
                $(".asideNav").slideDown();
            });
            $("nav .asideNav").mouseleave(function () {
                $(".asideNav").slideUp();
            });
        });
    </script>
</head>
<body>
<!--header-->
<header>
    <!--topNavBg-->
    <div class="topNavBg">
        <div class="wrap">
            <!--topLeftNav-->
            <ul class="topLtNav">
                <li><a href="login.html" class="obviousText">亲，请登录</a></li>
                <li><a href="register.html">注册</a></li>
                <li><a href="#">移动端</a></li>
            </ul>
            <!--topRightNav-->
            <ul class="topRtNav">
                <li><a href="user.html">个人中心</a></li>
                <li><a href="cart.html" class="cartIcon">购物车<i>0</i></a></li>
                <li><a href="favorite.html" class="favorIcon">收藏夹</a></li>
                <li><a href="user.html">商家中心</a></li>
                <li><a href="article_read.html" class="srvIcon">客户服务</a></li>
                <li><a href="union_login.html">商城管理</a></li>
            </ul>
        </div>
    </div>
    <!--logoArea-->
    <div class="wrap logoSearch">
        <!--logo-->
        <div class="logo">
            <h1><img src="../images/logo.png"/></h1>
        </div>
        <!--search-->
        <div class="search">
            <ul class="switchNav">
                <li class="active" id="chanpin">产品</li>
                <li id="shangjia">商家</li>
                <li id="zixun">搭配</li>
                <li id="wenku">文库</li>
            </ul>
            <div class="searchBox">
                <form>
                    <div class="inputWrap">
                        <input type="text" placeholder="输入产品关键词或货号" style="width: 620px;height: 34px;"/>
                    </div>
                    <div class="btnWrap">
                        <input type="submit" value="搜索"/>
                    </div>
                </form>
                <a href="#" class="advancedSearch">高级搜索</a>
            </div>
        </div>
    </div>
    <!--nav-->
    <nav>
        <ul class="wrap navList">
            <li class="category">
                <a>全部产品分类</a>
                <dl class="asideNav indexAsideNav">
                    <dt><a href="channel.html">女装</a></dt>
                    <dd>
                        <a href="#">夏装新</a>
                        <a href="#">连衣裙</a>
                        <a href="#">T恤</a>
                        <a href="#">衬衫</a>
                        <a href="#">裤子</a>
                        <a href="#">牛仔裤</a>
                        <a href="#">背带裤</a>
                        <a href="#">短外套</a>
                        <a href="#">时尚外套</a>
                        <a href="#">风衣</a>
                        <a href="#">毛衣</a>
                        <a href="#">背心</a>
                        <a href="#">吊带</a>
                        <a href="#">民族服装</a>
                    </dd>
                    <dt><a href="channel.html">男装</a></dt>
                    <dd>
                        <a href="#">衬衫</a>
                        <a href="#">背心</a>
                        <a href="#">西装</a>
                        <a href="#">POLO衫</a>
                        <a href="#">马夹</a>
                        <a href="#">皮衣</a>
                        <a href="#">毛衣</a>
                        <a href="#">针织衫</a>
                        <a href="#">牛仔裤</a>
                        <a href="#">外套</a>
                        <a href="#">夹克</a>
                        <a href="#">卫衣</a>
                        <a href="#">风衣</a>
                        <a href="#">民族风</a>
                        <a href="#">原创设计</a>
                        <a href="#">大码</a>
                        <a href="#">情侣装</a>
                        <a href="#">开衫</a>
                        <a href="#">运动裤</a>
                        <a href="#">工装裤</a>
                    </dd>
                </dl>
            </li>
            <li>
                <a href="homepage.html" class="active">首页</a>
            </li>
            <li>
                <a href="#">产品配置中心</a>
            </li>
            <li>
                <a href="channel.html">产品商城</a>
            </li>
            <li>
                <a href="channel.html">材料商城</a>
            </li>
            <li>
                <a href="channel.html">设备商城</a>
            </li>
            <li>
                <a href="information.html">行业资讯</a>
            </li>
            <li>
                <a href="library.html">知识文库</a>
            </li>
            <li>
                <a href="#">绿色通道</a>
            </li>
            <li>
                <a href="#">特殊产品</a>
            </li>
        </ul>
    </nav>
</header>
<script>
    $(document).ready(function () {
        //测试效果，程序对接如需变动重新编辑
        $(".switchNav li").click(function () {
            $(this).addClass("active").siblings().removeClass("active");
        });
        $("#chanpin").click(function () {
            $(".inputWrap input[type='text']").attr("placeholder", "输入产品关键词或货号");
        });
        $("#shangjia").click(function () {
            $(".inputWrap input[type='text']").attr("placeholder", "输入商家店铺名");
        });
        $("#zixun").click(function () {
            $(".inputWrap input[type='text']").attr("placeholder", "输入关键词查找文章内容");
        });
        $("#wenku").click(function () {
            $(".inputWrap input[type='text']").attr("placeholder", "输入关键词查找文库内容");
        });
    });

</script>
<div  id="addressApp">
<section class="wrap user_center_wrap">
    <!--左侧导航-->
    <aside class="user_aside_nav">
        <dl>
            <dt>买家中心</dt>
            <dd><a href="order_list.html">我的订单</a></dd>
            <dd><a href="price_list.html">我的询价单</a></dd>
            <dd><a href="favorite.html">我的收藏</a></dd>
            <dd><a href="address.html">我的地址</a></dd>
            <dd v-if="user.role===0"><a href="authenticate.html">我要开店</a></dd>
        </dl>
        <dl v-if="user.role===1">
            <dt>商家管理中心</dt>
            <dd><a href="setting.html">店铺设置</a></dd>
            <dd><a href="seller_product_list.html">商品列表</a></dd>
            <dd><a href="seller_order_list.html">订单列表</a></dd>
            <dd><a href="offer_list.html">询价单</a></dd>
        </dl>
        <dl>
            <dt>控制面板</dt>
            <dd><a href="message.html">站内短消息</a></dd>
            <dd><a href="account.html">资金管理</a></dd>
            <dd><a href="profile.html">个人资料</a></dd>
            <dd><a href="change_password.html">修改密码</a></dd>
        </dl>
    </aside>
    <!--右侧：内容区域-->
    <div class="user_rt_cont">
        <div class="top_title">
            <strong>我的地址列表</strong>
        </div>
        <table class="order_table">
            <tr>
                <td width="100" align="right">收件人：</td>
                <td><input v-model="name" type="text" placeholder="收件人姓名" class="textbox"/></td>
            </tr>
            <tr>
                <td width="100" align="right">联系电话：</td>
                <td><input v-model="phone" type="text" placeholder="收件人手机号码" class="textbox"/></td>
            </tr>
            <tr>
                <td width="100" align="right">收件地址：</td>
                <td>
                    <select v-model="province" style="width: 125px" class="select" v-on:change="initCities">
                        <option value="-1">选择省份</option>
                        <option v-for="item in provinces" :value="item.name">{{item.name}}</option>
                    </select>
                    <select v-model="city" style="width: 170px" class="select" v-on:change="initDistricts">
                        <option value="-1">选择城市</option>
                        <option v-for="item in cities" :value="item.name">{{item.name}}</option>
                    </select>
                    <select v-model="district" style="width: 220px" class="select">
                        <option value="-1">选择区县</option>
                        <option v-for="item in districts" :value="item">{{item}}</option>
                        <option></option>
                    </select>
                </td>
            </tr>
            <tr>
                <td width="100" align="right">详细地址：</td>
                <td><input v-model="address" type="text" placeholder="街道门牌号" class="textbox textbox_295"/>
                </td>
            </tr>
            <tr>
                <td width="100" align="right"></td>
                <td><input type="button" value="保存更新" class="group_btn" @click="operateAddress"/><input type="button"
                                                                                                        value="重置"
                                                                                                        class="group_btn"
                                                                                                        @click="reset">
                </td>
            </tr>
        </table>
        <table class="table table-hover">
            <tr>
                <th style='text-align: center;'>收件人</th>
                <th style='text-align: center;'>联系电话</th>
                <th style='text-align: center;'>收件地址</th>
                <th style='text-align: center;'>操作</th>
            </tr>
            <tr v-for="item in addresses">
                <td rowspan=$rowspan style='vertical-align: middle;text-align: center;'>{{item.name}}</td>
                <td rowspan=$rowspan style='vertical-align: middle;text-align: center;'>{{item.phone}}</td>
                <td rowspan=$rowspan style='vertical-align: middle;text-align: center;'>
                    <address>
                        {{item.province+item.city+item.district+item.address}}
                    </address>
                </td>
                <td rowspan=$rowspan style='vertical-align: middle;text-align: center;'>
                    <button v-if="item.isDefault===1" class="btn btn-danger" v-model="defaultId=item.id">默认地址</button>
                    <input v-else type="button" value="设为默认" class="btn btn-default" @click="setDefault(item.id)">
                    <input type="button" value="修改" class="btn btn-default"
                           @click="fillAddress(item.name,item.phone,item.province,item.city,item.district,item.address,item.id)"/>
                    <input type="button" value="删除" class="btn btn-default" @click="deleteAddress(item.id)"/>
                </td>
            </tr>
        </table>
    </div>
</section>
</div>
<!--footer-->
<footer>
    <!--help-->
    <ul class="wrap help">
        <li>
            <dl>
                <dt>消费者保障</dt>
                <dd><a href="article_read.html">保障范围</a></dd>
                <dd><a href="article_read.html">退换货流程</a></dd>
                <dd><a href="article_read.html">服务中心</a></dd>
                <dd><a href="article_read.html">更多服务特色</a></dd>
            </dl>
        </li>
        <li>
            <dl>
                <dt>新手上路</dt>
                <dd><a href="article_read.html">保障范围</a></dd>
                <dd><a href="article_read.html">退换货流程</a></dd>
                <dd><a href="article_read.html">服务中心</a></dd>
                <dd><a href="article_read.html">更多服务特色</a></dd>
            </dl>
        </li>
        <li>
            <dl>
                <dt>付款方式</dt>
                <dd><a href="article_read.html">保障范围</a></dd>
                <dd><a href="article_read.html">退换货流程</a></dd>
                <dd><a href="article_read.html">服务中心</a></dd>
                <dd><a href="article_read.html">更多服务特色</a></dd>
            </dl>
        </li>
        <li>
            <dl>
                <dt>服务保障</dt>
                <dd><a href="article_read.html">保障范围</a></dd>
                <dd><a href="article_read.html">退换货流程</a></dd>
                <dd><a href="article_read.html">服务中心</a></dd>
                <dd><a href="article_read.html">更多服务特色</a></dd>
            </dl>
        </li>
    </ul>
    <dl class="wrap otherLink">
        <dt>友情链接</dt>
        <dd><a href="#" target="_blank">素材网站</a></dd>
        <dd><a href="#/pins/24448.html">HTML5模块化后台管理模板</a></dd>
        <dd><a href="#/pins/15966.html">绿色清爽后台管理系统模板</a></dd>
        <dd><a href="#/pins/14931.html">黑色的cms商城网站后台管理模板</a></dd>
        <dd><a href="http://www.bootstrapmb.com" target="_blank">前端博客</a></dd>
        <dd><a href="http://www.bootstrapmb.com" target="_blank">博客</a></dd>
        <dd><a href="http://www.bootstrapmb.com" target="_blank">新码笔记</a></dd>
        <dd><a href="http://www.bootstrapmb.com" target="_blank">DethGhost</a></dd>
        <dd><a href="#">当当</a></dd>
        <dd><a href="#">优酷</a></dd>
        <dd><a href="#">土豆</a></dd>
        <dd><a href="#">新浪</a></dd>
        <dd><a href="#">钉钉</a></dd>
        <dd><a href="#">支付宝</a></dd>
    </dl>
    <div class="wrap btmInfor">
        <p>© 2013 DeathGhost.cn 版权所有 网络文化经营许可证：浙网文[2013]***-027号 增值电信业务经营许可证：浙B2-200***24-1 信息网络传播视听节目许可证：1109***4号</p>
        <address>联系地址：陕西省西安市雁塔区XXX号</address>
    </div>
</footer>
<script type="text/javascript">
    let phoneReg = /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/;
    let user = JSON.parse(window.sessionStorage.getItem("user"));
    new Vue({
        el: "#addressApp",
        data: {
            name: "",
            phone: "",
            address: "",
            province: "-1",
            city: "-1",
            district: "-1",
            provinces: [],
            cities: [],
            districts: [],
            addresses: [],
            id: 0,
            defaultId: 0,
            user:{}
        },
        mounted: function () {
            this.initChina();
            this.initAddress();
            this.user=JSON.parse(window.sessionStorage.getItem("user"));
        },
        methods: {
            operateAddress: function () {
                let _this = this;
                if (this.name === "") {
                    alert("请填写收货人姓名");
                } else {
                    if (this.phone === "") {
                        alert("请填写收货人电话");
                    } else {
                        if (!phoneReg.test(this.phone)) {
                            alert("电话格式错误");
                        } else {
                            if (this.province === "-1") {
                                alert("请选择省份");
                            } else {
                                if (this.city === "-1") {
                                    alert("请选择城市");
                                } else {
                                    if (this.district === "-1") {
                                        alert("请选择区/县");
                                    } else {
                                        if (this.address === "") {
                                            alert("请填写详细地址");
                                        } else {
                                            if (this.id === 0) {
                                                $.ajax({
                                                    headers: {
                                                        token: $.cookie('token')
                                                    },
                                                    url: "http://localhost:8080/tshopping/AddressController/addAddress",
                                                    type: 'post',
                                                    dataType: 'json',
                                                    data: {
                                                        name: this.name,
                                                        phone: this.phone,
                                                        address: this.address,
                                                        user: user.id,
                                                        province: this.province,
                                                        city: this.city,
                                                        district: this.district
                                                    },
                                                    success: function (result) {
                                                        if (result.code === 200) {
                                                            if (result.data.flag) {
                                                                alert("添加地址成功");
                                                                _this.reset();
                                                                _this.initAddress();
                                                            } else {
                                                                alert("添加地址失败");
                                                            }
                                                        } else {
                                                            alert("您的账号在另一地点登录,您已被迫下线");
                                                            _this.logout();
                                                        }
                                                    },
                                                    error: function (result) {
                                                        console.log(result);
                                                        alert("世界上最遥远的距离就是没网！");
                                                    }
                                                });
                                            } else {
                                                $.ajax({
                                                    headers: {
                                                        token: $.cookie("token")
                                                    },
                                                    url: "http://localhost:8080/tshopping/AddressController/updateAddress",
                                                    type: 'post',
                                                    dataType: 'json',
                                                    data: {
                                                        name: this.name,
                                                        phone: this.phone,
                                                        address: this.address,
                                                        province: this.province,
                                                        city: this.city,
                                                        district: this.district,
                                                        id: this.id
                                                    },
                                                    success: function (result) {
                                                        if (result.code === 200) {
                                                            if (result.data.flag) {
                                                                alert("修改地址成功");
                                                                _this.reset();
                                                                _this.initAddress();
                                                            } else {
                                                                alert("修改地址失败");
                                                            }
                                                        } else {
                                                            alert("您的账号在另一地点登录,您已被迫下线");
                                                            _this.logout();
                                                        }
                                                    },
                                                    error: function (result) {
                                                        console.log(result);
                                                        alert("世界上最遥远的距离就是没网！");
                                                    }
                                                });
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            initCities: function () {
                this.city = "-1";
                this.district = "-1";
                for (let key in this.provinces) {
                    if (this.provinces[key].name === this.province) {
                        this.cities = this.provinces[key].city;
                        return;
                    }
                }
            },
            initDistricts: function () {
                this.district = "-1";
                for (let key in this.cities) {
                    if (this.cities[key].name === this.city) {
                        this.districts = this.cities[key].area;
                        return;
                    }
                }
            },
            reset: function () {
                this.province = "-1";
                this.city = "-1";
                this.district = "-1";
                this.name = "";
                this.phone = "";
                this.address = "";
                this.id = 0;
            },
            fillAddress: function (name, phone, province, city, district, address, id) {
                this.reset();
                this.name = name;
                this.phone = phone;
                this.province = province;
                this.initCities();
                this.city = city;
                this.initDistricts();
                this.district = district;
                this.address = address;
                this.id = id;
            },
            initAddress: function () {
                let _this = this;
                this.defaultId = 0;
                $.ajax({
                    headers: {
                        token: $.cookie("token")
                    },
                    url: "http://localhost:8080/tshopping/AddressController/getUserAddresses",
                    type: 'post',
                    dataType: 'json',
                    data: {
                        user: user.id
                    },
                    success: function (result) {
                        if (result.code === 200) {
                            _this.addresses = result.data.addressList;
                        } else {
                            alert("您的账号在另一地点登录,您已被迫下线");
                            _this.logout();
                        }
                    },
                    error: function (data) {
                        console.log(data);
                        alert("世界上最遥远的距离就是没网！");
                    }
                });
            },
            initChina: function () {
                let _this = this;
                let china = JSON.parse(window.sessionStorage.getItem("china"));
                if (china === null) {
                    /*获取全国地址json数据*/
                    $.getJSON("../resource/china.json", "", function (data) {
                        _this.provinces = data;
                        window.sessionStorage.setItem("china", JSON.stringify(data));
                    });
                } else {
                    this.provinces = china;
                }
            },
            setDefault: function (newId) {
                let _this = this;
                if (_this.defaultId === 0) {
                    $.ajax({
                        headers: {
                            token: $.cookie("token")
                        },
                        url: "http://localhost:8080/tshopping/AddressController/addDefault",
                        type: 'post',
                        dataType: 'json',
                        data: {
                            newId: newId,
                        },
                        success: function (result) {
                            if (result.code === 200) {
                                if (result.data.flag) {
                                    alert("设置默认地址成功");
                                    _this.initAddress();
                                } else {
                                    alert("设置默认地址失败");
                                }
                            } else {
                                alert("您的账号在另一地点登录,您已被迫下线");
                                _this.logout();
                            }
                        },
                        error: function (result) {
                            console.log(result);
                            alert("世界上最遥远的距离就是没网！");
                        }
                    });
                } else {
                    $.ajax({
                        headers: {
                            token: $.cookie("token")
                        },
                        url: "http://localhost:8080/tshopping/AddressController/updateDefault",
                        type: 'post',
                        dataType: 'json',
                        data: {
                            newId: newId,
                            oldId: _this.defaultId
                        },
                        success: function (result) {
                            if (result.code === 200) {
                                if (result.data.flag) {
                                    alert("设置默认地址成功");
                                    _this.initAddress();
                                } else {
                                    alert("设置默认地址失败");
                                }
                            } else {
                                alert("您的账号在另一地点登录,您已被迫下线");
                                _this.logout();
                            }
                        },
                        error: function (result) {
                            console.log(result);
                            alert("世界上最遥远的距离就是没网！");
                        }
                    });
                }
            },
            deleteAddress: function (id) {
                let _this = this;
                $.ajax({
                    headers: {
                        token: $.cookie("token")
                    },
                    url: "http://localhost:8080/tshopping/AddressController/deleteAddress",
                    type: 'post',
                    dataType: 'json',
                    data: {
                        id: id
                    },
                    success: function (result) {
                        if (result.code === 200) {
                            if (result.data.flag) {
                                alert("删除地址成功");
                                _this.initAddress();
                            } else {
                                alert("删除地址失败");
                            }
                        } else {
                            alert("您的账号在另一地点登录,您已被迫下线");
                            _this.logout();
                        }
                    },
                    error: function (data) {
                        console.log(data);
                        alert("世界上最遥远的距离就是没网！");
                    }
                });
            },
            logout: function () {
                /**
                 * 注销，清空所有cookie(或者只清空保存着token的Cookie就行)
                 */
                let keys = document.cookie.match(/[^ =;]+(?=\=)/g);
                if (keys) {
                    for (let i = keys.length; i--;)
                        document.cookie = keys[i] + '=0;expires=' + new Date(0).toUTCString()
                }
                //返回登录页面或者主页
                window.location.href = "login.html";
            }
        }
    })
    new Vue({
        el:"#userLimit",
        data:{
            user:{}
        },
        mounted:function () {
            this.user = JSON.parse(window.sessionStorage.getItem("user"));
        }
    })
</script>
</body>
</html>
